Bar code scanning systems generally include a scanner connected to a computer which has a look-up table that allows a software algorithm to decode the bar code. The look-up table includes a number of unique entries each representing a particular character value. For example, one entry may be that a bar two modules wide, followed by a space two modules wide, followed by a bar two modules wide, followed by a space one module wide equates to a character value of "8." When the scanner detects this particular sequence of bars and spaces, the algorithm searches the look-up table until that particular entry (e.g. 2,2,2,1=8) is found and then outputs the decoded value of "8."
In this particular example, the bar code has an "n, k" structure of 7,2 where n, equal to 7, is the total number of modules in the bar code, each 1-x wide and k, equal to 2, is the total number of bars which is also equal to the total number of spaces in the bar code. Each character value (e.g. 8) is made up of a plurality of bars and spaces and each bar and each space is made up of one or more modules of the same color type.
The look-up table in this example then contains 20 entries wherein each entry contains a unique bar/space pattern and an associated unique character value.
Since most products and services available for sale are now identified via a bar code with a unique product number, since the bar code must also contain a variety of other information about the product (e.g. manufacturing data, weight, lot number, etc.), and since UPC-E 7,2 n,k and EAN-8 bar code structures have a capacity of only 7-8 characters, the unique product numbers are quickly running out.
Accordingly, the EAN/UPC 7,2 n,k bar code structures are being replaced with n,k structures on the order of 21,6 and 29,8, the former representing 21 total modules and 6 bars and 6 spaces per character. The look-up table for this larger n,k structure, however, is enormous. For example, the look-up table for the 21,6 n,k structure contains 74,256 entries. At point of sale bar code scanning, such a large look-up table necessarily results in an inordinate amount of processing time before a match is found, and also requires a significant amount of memory address space.